The present invention discusses methods for halting operation within a computing system when the computing system detects that an error has occurred.
Because of the high speeds at which computing systems Currently operate, it is generally not possible for a computing system to halt operation before the computing system writes new data into some or all of its storage elements. Often, it is impossible to stop some portions of the computing system for several computing cycles after the error is first detected simply because of the time it takes for a signal to propagate from one part of the computing system to another. While the computing system is being shut down, new data is written into some registers making it difficult to determine the exact cause of the error or to determine how the computing may be restarted without re-booting the operating system.
One prior art approach to attempt to preserve data is to incorporate within the computing system extra copies or duplicates of critical registers. The duplicate registers retain information about the state of the computing system for several cycles so that the state of the computing system may be reconstructed if an error is detected. However this approach is very costly to implement.